﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Paint
{
    public abstract class Shape
    {
        public Color Color { get; set; }
        public int Width { get; set; }

        public override String ToString()
        {
            throw new NotImplementedException();
        }
    }

    interface IDraw
    {
        void Draw(Graphics g);
    }

    public class Rectangle : Shape, IDraw
    {
        public Point P1 { get; set; }
        public Point P2 { get; set; }

        public void Draw(Graphics g)
        {
            throw new NotImplementedException();
        }
    }

    public interface IPaintAppModel
    {
        List<Shape> Shapes { get; set; }
        // current shape data

        // save location / file
        void Save(string filePath);
        void Open(string filePath);

        Point CanvasDimensions { get; set; }
    }

    public class PaintModel : IPaintAppModel
    {
        public List<Shape> Shapes { get; set; }
        public void Save(string filePath)
        {
            throw new NotImplementedException();
        }

        public void Open(string filePath)
        {
            throw new NotImplementedException();
        }

        public Point CanvasDimensions { get; set; }
    }
}
